import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class PlayCard {
    public static ArrayList<Card> pokerBox = new ArrayList();

    // 初始化54张扑克牌
    public void init() {
        ArrayList<String> type = new ArrayList<String>();
        ArrayList<String> point = new ArrayList<String>();
        type.add("♥");
        type.add("♦");
        type.add("♠");
        type.add("♣");

        // 由小到大加入牌的点数
        for (int i = 2; i <= 10; i++) {
            point.add(i + "");
        }
        point.add("J");
        point.add("Q");
        point.add("K");
        point.add("A");

        // 拿出每一个花色然后跟每一个点数进行结合，然后存储到牌盒中
        for (String color : type) {
            // color每一个花色
            // 遍历数字集合
            for (String number : point) {
                // 结合
                Card card = new Card();
                card.setPoint(number);
                card.setType(color);
                // 存储到牌盒中
                pokerBox.add(card);
            }
        }
        System.out.println(pokerBox);
    }

    // 洗牌
    public void xipai() {
        Collections.shuffle(pokerBox);
        System.out.println(pokerBox);
    }

    // 发牌
    public void fapai() {
        List<Card> player1 = pokerBox.subList(0,16);
        List<Card> player2 = pokerBox.subList(17,33);
       List<Card> player3 = pokerBox.subList(34,50);
        List<Card> dipai = pokerBox.subList(50,51);
        System.out.println("玩家1："+player1);
        System.out.println("玩家2："+player2);
        System.out.println("玩家3："+player3);
        System.out.println("底牌："+dipai);


    }





    public static void main(String[] args) {
        new PlayCard().init();
        new PlayCard().xipai();
        new PlayCard().fapai();
    }

}
